package com.sun.config;

import lombok.extern.slf4j.Slf4j;

/**
 * 数据源类型
 */
@Slf4j
public class DataSourceType {

    public enum DataBaseType {
        MASTER,SLAVE
    }

    private static final ThreadLocal<DataBaseType> dataSourceType = new ThreadLocal<>();


    /**
     * 设置数据源
     * @param dataBaseType
     */
    public static void setDataBaseType(DataBaseType dataBaseType) {
        if (dataBaseType == null) {
            throw new NullPointerException();
        }
        log.info("[将当前数据源改为]：" + dataBaseType);
        dataSourceType.set(dataBaseType);
    }

    /**
     * 获取数据源类型
     */
    public static DataBaseType getDataBaseType() {
        DataBaseType dataBaseType = dataSourceType.get() == null ? DataBaseType.MASTER : dataSourceType.get();
        System.err.println("[获取当前数据源的类型为]：" + dataBaseType);
        return dataBaseType;
    }

    // 清空数据类型
    public static void clearDataBaseType() {
        dataSourceType.remove();
    }
}
